{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of data in the dataset: 1200\n",
      "Loading Images. It may take a while, depending on the database size.\n",
      "loaded 43% of dataset (527/1173). Filtered images: 27\n",
      "loaded 87% of dataset (1053/1147). Filtered images: 53\n",
      "Skipped 90 happy class images.\n",
      "1056 are left after 'strange images' removal.\n",
      "Deleted 54 strange images. Images are shown below\n",
      "number of clean data:1056  48x48 pix , 0-255 greyscale images\n",
      "orig train data (992, 48, 48)\n",
      "orig train labels (992,)from 0.0 to 5.0\n",
      "orig test data (64, 48, 48)\n",
      "orig test labels (64,)from 0.0 to 5.0\n",
      "TRAIN: number of 0 labels 193\n",
      "TRAIN: number of 1 labels 149\n",
      "TRAIN: number of 2 labels 194\n",
      "TRAIN: number of 3 labels 174\n",
      "TRAIN: number of 4 labels 111\n",
      "TRAIN: number of 5 labels 171\n",
      "TEST: number of 0 labels 13\n",
      "TEST: number of 1 labels 9\n",
      "TEST: number of 2 labels 11\n",
      "TEST: number of 3 labels 15\n",
      "TEST: number of 4 labels 6\n",
      "TEST: number of 5 labels 10\n",
      "train labels shape (992, 6)\n",
      "test labels shape (64, 6)\n",
      "W_conv1= (8, 8, 1, 22)\n",
      "b_conv1= (22,)\n",
      "x_2d1= (64, 48, 48, 1)\n",
      "h_conv1= (64, 48, 48, 22)\n",
      "W_conv2= (8, 8, 22, 22)\n",
      "b_conv2= (22,)\n",
      "h_conv2= (64, 48, 48, 22)\n",
      "h_conv2_pooled= (64, 24, 24, 22)\n",
      "W_conv3= (8, 8, 22, 22)\n",
      "b_conv3= (22,)\n",
      "x_2d3= (64, 24, 24, 22)\n",
      "h_conv3= (64, 24, 24, 22)\n",
      "W_conv4= (4, 4, 22, 22)\n",
      "b_conv4= (22,)\n",
      "h_conv4= (64, 24, 24, 22)\n",
      "h_conv4_pooled= (64, 12, 12, 22)\n",
      "h_conv4_pooled= (64, 6, 6, 22)\n",
      "W_conv5= (4, 4, 22, 22)\n",
      "b_conv5= (22,)\n",
      "x_2d5= (64, 6, 6, 22)\n",
      "h_conv5= (64, 6, 6, 22)\n",
      "W_con6= (4, 4, 22, 22)\n",
      "b_conv6= (22,)\n",
      "h_conv6= (64, 6, 6, 22)\n",
      "h_conv6_pooled_rs (64, 792)\n",
      "W_norm6= (792, 6)\n",
      "b_conv6= (6,)\n",
      "h_full6= (64, 6)\n",
      "h_full6= (64, 6)\n",
      "y3(SOFTMAX)= (64, 6)\n",
      "accuracy angry    \t 0.8571428571428571\n",
      "accuracy scared    \t 0.8235294117647058\n",
      "accuracy happy    \t 0.631578947368421\n",
      "accuracy sad    \t 0.9032258064516129\n",
      "accuracy surprised    \t 0.9090909090909091\n",
      "accuracy normal    \t 0.7272727272727273\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116b98fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# This notebook is created to analyse the CNN\n",
    "# @author Patryk Oleniuk, EPFL 2017\n",
    "#\n",
    "import random\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "import matplotlib.pyplot as plt\n",
    "import csv\n",
    "import scipy.misc\n",
    "import time\n",
    "import collections\n",
    "import os\n",
    "import utils as ut\n",
    "import importlib\n",
    "import copy\n",
    "\n",
    "importlib.reload(ut)\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (20.0, 20.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "# The CSV data (with removed first line ! (names))\n",
    "emotions_dataset_dir = 'fer2013_shortened.csv'\n",
    "\n",
    "#obtaining the number of line of the csv file\n",
    "file = open(emotions_dataset_dir)\n",
    "numline = len(file.readlines())\n",
    "print ('Number of data in the dataset:',numline)\n",
    "\n",
    "#Load the file in csv\n",
    "ifile  = open(emotions_dataset_dir, \"rt\")\n",
    "reader = csv.reader(ifile)\n",
    "\n",
    "hist_threshold = 350 # images above this threshold will be removed\n",
    "hist_div = 100 #parameter of the histogram\n",
    "\n",
    "print('Loading Images. It may take a while, depending on the database size.')\n",
    "images, emotions, strange_im, num_strange, num_skipped = ut.load_dataset(reader, numline, hist_div, hist_threshold)\n",
    "\n",
    "ifile.close()\n",
    "\n",
    "print('Skipped', num_skipped, 'happy class images.')\n",
    "print(str( len(images) ) + ' are left after \\'strange images\\' removal.')\n",
    "print('Deleted ' + str( num_strange ) + ' strange images. Images are shown below')\n",
    "\n",
    "classes = [0,1,2,3,4,5]\n",
    "str_emotions = ['angry','scared','happy','sad','surprised','normal']\n",
    "num_classes = len(classes)\n",
    "samples_per_class = 6\n",
    "\n",
    "print('number of clean data:' + str(images.shape[0]) + '  48x48 pix , 0-255 greyscale images')\n",
    "n_all = images.shape[0];\n",
    "n_train = 64; # number of data for training and for batch\n",
    "\n",
    "# dividing the input data\n",
    "train_data_orig = images[0:n_all-n_train,:,:]\n",
    "train_labels = emotions[0:n_all-n_train]\n",
    "test_data_orig = images[n_all-n_train:n_all,:,:]\n",
    "test_labels = emotions[n_all-n_train:n_all]\n",
    "\n",
    "# Convert to float\n",
    "train_data_orig = train_data_orig.astype('float32')\n",
    "y_train = train_labels.astype('float32')\n",
    "test_data_orig = test_data_orig.astype('float32')\n",
    "y_test = test_labels.astype('float32')\n",
    "\n",
    "print('orig train data ' + str(train_data_orig.shape))\n",
    "print('orig train labels ' + str(train_labels.shape) + 'from ' + str(train_labels.min()) + ' to ' + str(train_labels.max()) )\n",
    "print('orig test data ' + str(test_data_orig.shape))\n",
    "print('orig test labels ' + str(test_labels.shape)+ 'from ' + str(test_labels.min()) + ' to ' + str(test_labels.max()) )\n",
    "\n",
    "for i in range (0, 6):  \n",
    "    print('TRAIN: number of' , i, 'labels',len(train_labels[train_labels == i]))\n",
    "\n",
    "for i in range (0, 6):  \n",
    "    print('TEST: number of', i, 'labels',len(test_labels[test_labels == i]))\n",
    "    \n",
    "# Data pre-processing\n",
    "n = train_data_orig.shape[0];\n",
    "train_data = np.zeros([n,48**2])\n",
    "for i in range(n):\n",
    "    xx = train_data_orig[i,:,:]\n",
    "    xx -= np.mean(xx)\n",
    "    xx /= np.linalg.norm(xx)\n",
    "    train_data[i,:] = xx.reshape(2304); #np.reshape(xx,[-1])\n",
    "\n",
    "n = test_data_orig.shape[0]\n",
    "test_data = np.zeros([n,48**2])\n",
    "for i in range(n):\n",
    "    xx = test_data_orig[i,:,:]\n",
    "    xx -= np.mean(xx)\n",
    "    xx /= np.linalg.norm(xx)\n",
    "    test_data[i] = np.reshape(xx,[-1])\n",
    "\n",
    "#print(train_data.shape)\n",
    "#print(test_data.shape)\n",
    "#print(train_data_orig[0][2][2])\n",
    "#print(test_data[0][2])\n",
    "plt.rcParams['figure.figsize'] = (2.0, 2.0) # set default size of plots\n",
    "plt.subplot(121);\n",
    "plt.imshow(train_data[9].reshape([48,48]));\n",
    "plt.title(' after ');\n",
    "plt.axis('off')\n",
    "plt.subplot(122);\n",
    "plt.imshow(train_data_orig[9]);\n",
    "plt.title(' before ');\n",
    "plt.axis('off');\n",
    "\n",
    "# Convert label values to one_hot vector\n",
    "\n",
    "train_labels = ut.convert_to_one_hot(train_labels,num_classes)\n",
    "test_labels = ut.convert_to_one_hot(test_labels,num_classes)\n",
    "\n",
    "print('train labels shape',train_labels.shape)\n",
    "print('test labels shape',test_labels.shape)\n",
    "\n",
    "#Definition of function that have been used in the CNN\n",
    "\n",
    "d = train_data.shape[1]\n",
    "\n",
    "def weight_variable2(shape, nc10):\n",
    "        initial2 = tf.random_normal(shape, stddev=tf.sqrt(2./tf.to_float(ncl0)) )\n",
    "        return tf.Variable(initial2)\n",
    "\n",
    "def conv2d(x,W):\n",
    "        return tf.nn.conv2d(x,W,strides=[1, 1, 1, 1], padding='SAME')\n",
    "    \n",
    "def max_pool_2x2(x):\n",
    "    return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')\n",
    "\n",
    "def weight_variable(shape):\n",
    "        initial = tf.truncated_normal(shape, stddev=1/np.sqrt(d/2) )\n",
    "        return tf.Variable(initial)\n",
    "    \n",
    "def bias_variable(shape):\n",
    "    initial = tf.constant(0.01,shape=shape)\n",
    "    return tf.Variable(initial)\n",
    "\n",
    "tf.reset_default_graph()\n",
    "\n",
    "# implementation of Conv-Relu-COVN-RELU - pool\n",
    "# based on : http://cs231n.github.io/convolutional-networks/\n",
    "\n",
    "# Define computational graph (CG)\n",
    "batch_size = n_train    # batch size\n",
    "d = train_data.shape[1]  # data dimensionality\n",
    "nc = 6                  # number of classes\n",
    "\n",
    "# Inputs\n",
    "xin = tf.placeholder(tf.float32,[batch_size,d]); #print('xin=',xin,xin.get_shape())\n",
    "y_label = tf.placeholder(tf.float32,[batch_size,nc]); #print('y_label=',y_label,y_label.get_shape())\n",
    "\n",
    "\n",
    "#for the first conc-conv\n",
    "# Convolutional layer\n",
    "K0 = 8   # size of the patch\n",
    "F0 = 22  # number of filters\n",
    "ncl0 = K0*K0*F0\n",
    "\n",
    "#for the second conc-conv\n",
    "K1 = 4   # size of the patch\n",
    "F1 = F0  # number of filters\n",
    "ncl1 = K1*K1*F1\n",
    "\n",
    "#drouput probability\n",
    "keep_prob_input=tf.placeholder(tf.float32)\n",
    "\n",
    "#1st set of conv followed by conv2d operation and dropout 0.5\n",
    "W_conv1=weight_variable([K0,K0,1,F0]); print('W_conv1=',W_conv1.get_shape())\n",
    "b_conv1=bias_variable([F0]); print('b_conv1=',b_conv1.get_shape())\n",
    "x_2d1 = tf.reshape(xin, [-1,48,48,1]); print('x_2d1=',x_2d1.get_shape())\n",
    "\n",
    "#conv2d \n",
    "h_conv1=tf.nn.relu(conv2d(x_2d1, W_conv1) + b_conv1); print('h_conv1=',h_conv1.get_shape())\n",
    "#h_conv1= tf.nn.dropout(h_conv1,keep_prob_input);\n",
    "\n",
    "# 2nd convolutional layer + max pooling\n",
    "W_conv2=weight_variable([K0,K0,F0,F0]); print('W_conv2=',W_conv2.get_shape())\n",
    "b_conv2=bias_variable([F0]); print('b_conv2=',b_conv2.get_shape())\n",
    "\n",
    "# conv2d + max pool\n",
    "h_conv2 = tf.nn.relu(conv2d(h_conv1,W_conv2)+b_conv2); print('h_conv2=',h_conv2.get_shape())\n",
    "h_conv2_pooled = max_pool_2x2(h_conv2); print('h_conv2_pooled=',h_conv2_pooled.get_shape())\n",
    "\n",
    "#3rd set of conv \n",
    "W_conv3=weight_variable([K0,K0,F0,F0]); print('W_conv3=',W_conv3.get_shape())\n",
    "b_conv3=bias_variable([F1]); print('b_conv3=',b_conv3.get_shape())\n",
    "x_2d3 = tf.reshape(h_conv2_pooled, [-1,24,24,F0]); print('x_2d3=',x_2d3.get_shape())\n",
    "\n",
    "#conv2d\n",
    "h_conv3=tf.nn.relu(conv2d(x_2d3, W_conv3) + b_conv3); print('h_conv3=',h_conv3.get_shape())\n",
    "\n",
    "# 4th convolutional layer \n",
    "W_conv4=weight_variable([K1,K1,F1,F1]); print('W_conv4=',W_conv4.get_shape())\n",
    "b_conv4=bias_variable([F1]); print('b_conv4=',b_conv4.get_shape())\n",
    "\n",
    "#conv2d + max pool 4x4\n",
    "h_conv4 = tf.nn.relu(conv2d(h_conv3,W_conv4)+b_conv4); print('h_conv4=',h_conv4.get_shape())\n",
    "h_conv4_pooled = max_pool_2x2(h_conv4); print('h_conv4_pooled=',h_conv4_pooled.get_shape())\n",
    "h_conv4_pooled = max_pool_2x2(h_conv4_pooled); print('h_conv4_pooled=',h_conv4_pooled.get_shape())\n",
    "\n",
    "#5th set of conv \n",
    "W_conv5=weight_variable([K1,K1,F1,F1]); print('W_conv5=',W_conv5.get_shape())\n",
    "b_conv5=bias_variable([F1]); print('b_conv5=',b_conv5.get_shape())\n",
    "x_2d5 = tf.reshape(h_conv4_pooled, [-1,6,6,F1]); print('x_2d5=',x_2d5.get_shape())\n",
    "\n",
    "#conv2d\n",
    "h_conv5=tf.nn.relu(conv2d(x_2d5, W_conv5) + b_conv5); print('h_conv5=',h_conv5.get_shape())\n",
    "\n",
    "# 6th convolutional layer \n",
    "W_conv6=weight_variable([K1,K1,F1,F1]); print('W_con6=',W_conv6.get_shape())\n",
    "b_conv6=bias_variable([F1]); print('b_conv6=',b_conv6.get_shape())\n",
    "b_conv6= tf.nn.dropout(b_conv6,keep_prob_input);\n",
    "\n",
    "#conv2d + max pool 4x4\n",
    "h_conv6 = tf.nn.relu(conv2d(h_conv5,W_conv6)+b_conv6); print('h_conv6=',h_conv6.get_shape())\n",
    "\n",
    "# reshaping for fully connected\n",
    "h_conv6_pooled_rs = tf.reshape(h_conv6, [batch_size,-1]); print('h_conv6_pooled_rs',h_conv6_pooled_rs.get_shape());\n",
    "W_norm6 = weight_variable([  6*6*F1, nc]); print('W_norm6=',W_norm6.get_shape())\n",
    "b_norm6 = bias_variable([nc]); print('b_conv6=',b_norm6.get_shape())\n",
    "\n",
    "# fully connected layer\n",
    "h_full6 = tf.matmul( h_conv6_pooled_rs, W_norm6 ); print('h_full6=',h_full6.get_shape())\n",
    "h_full6 += b_norm6; print('h_full6=',h_full6.get_shape())\n",
    "\n",
    "y = h_full6; \n",
    "\n",
    "## Softmax\n",
    "y = tf.nn.softmax(y); print('y3(SOFTMAX)=',y.get_shape())\n",
    "\n",
    "# Loss\n",
    "cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_label * tf.log(y), 1))\n",
    "total_loss = cross_entropy\n",
    "\n",
    "# Optimization scheme\n",
    "train_step = tf.train.AdamOptimizer(0.001).minimize(total_loss)\n",
    "\n",
    "# Accuracy\n",
    "correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_label,1))\n",
    "accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))\n",
    "\n",
    "#restore the graph\n",
    "sess = tf.Session()\n",
    "# Add ops to save and restore all the variables.\n",
    "saver = tf.train.Saver()\n",
    "\n",
    "saver.restore(sess, './model_6layers.ckpt')\n",
    "\n",
    "# calculating accuracy for each class separately for the test set\n",
    "result_cnn = sess.run([y], feed_dict = {xin: test_data,  keep_prob_input: 1.0})\n",
    "#result = sess.run(y, feed_dict={xin: test_data, keep_prob_input: 1.0})\n",
    "\n",
    "tset = test_labels.argmax(1);\n",
    "result = np.asarray(result_cnn[:][0]).argmax(1);\n",
    "\n",
    "for i in range (0,nc):\n",
    "    print('accuracy',str_emotions[i]+str('   '), '\\t',ut.calc_partial_accuracy(tset, result, i))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wc1 (8, 8, 1, 22)\n",
      "Wc2 (8, 8, 22, 22)\n",
      "Wc3 (8, 8, 22, 22)\n",
      "Wc4 (4, 4, 22, 22)\n",
      "Wc5 (4, 4, 22, 22)\n",
      "Wc6 (4, 4, 22, 22)\n"
     ]
    }
   ],
   "source": [
    "import random\n",
    "\n",
    "# calculating accuracy for each class separately for the test set\n",
    "Wc1, Wc2, Wc3, Wc4, Wc5, Wc6, Wnorm6 = sess.run([W_conv1, W_conv2, W_conv3, W_conv4, W_conv5, W_conv6, W_norm6], feed_dict = {})\n",
    "\n",
    "bc1 = sess.run([ b_conv1], feed_dict = {})\n",
    "bc2 = sess.run([ b_conv2], feed_dict = {})\n",
    "bc3 = sess.run([ b_conv3], feed_dict = {})\n",
    "bc4 = sess.run([ b_conv4], feed_dict = {})\n",
    "bc5 = sess.run([ b_conv5], feed_dict = {})\n",
    "bc6 = sess.run([ b_conv6], feed_dict = {  keep_prob_input: 1.0})\n",
    "bn6 = sess.run([ b_norm6], feed_dict = {})\n",
    "\n",
    "print('Wc1',Wc1.shape)\n",
    "print('Wc2',Wc2.shape)\n",
    "print('Wc3',Wc3.shape)\n",
    "print('Wc4',Wc4.shape)\n",
    "print('Wc5',Wc5.shape)\n",
    "print('Wc6',Wc6.shape)\n",
    "\n",
    "\n",
    "#plotting extracted features (W)\n",
    "\n",
    "filt13 = np.zeros([3,22, 8, 8]);\n",
    "filt46 = np.zeros([3,22, 4, 4]);\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Quantizing in the format of signed fixed point  9 . 7\n"
     ]
    },
    {
     "ename": "AttributeError",
     "evalue": "module 'tensorflow' has no attribute 'fak'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-4-7359dad3b35b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m     16\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Quantizing in the format of signed fixed point '\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlog2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mq_dec_val\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'.'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumbits\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlog2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mq_dec_val\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     20\u001b[0m \u001b[0mWc1_q_val\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mquantize_tensor_val\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mWc1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msess\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mAttributeError\u001b[0m: module 'tensorflow' has no attribute 'fak'"
     ]
    }
   ],
   "source": [
    "## QUANTISATION\n",
    "\n",
    "# Makes the symmetrical quantisation of the coefficients for an FPGA computations\n",
    "# \n",
    "def quantize_tensor_val(var_name, sess, q_dec_val=128.0, type_q = tf.qint16):\n",
    "    var_name_q = tf.quantize_v2(var_name, -q_dec_val, q_dec_val, type_q).output;\n",
    "    var_name_q_val = sess.run([ var_name_q], feed_dict = { })\n",
    "    return np.squeeze(var_name_q_val);\n",
    "\n",
    "# symmetricla quantization\n",
    "# e.g. fixed point 6.10\n",
    "q_dec_val = 512.0; # maximal integer value that could be represented\n",
    "type_q = tf.qint16;\n",
    "numbits = 16;\n",
    "\n",
    "print('Quantizing in the format of signed fixed point ', int(np.log2(q_dec_val)), '.', int(numbits - np.log2(q_dec_val) ))\n",
    "\n",
    "tf.fak\n",
    "\n",
    "Wc1_q_val = quantize_tensor_val(Wc1, sess)\n",
    "Wc2_q_val = quantize_tensor_val(Wc2, sess)\n",
    "Wc3_q_val = quantize_tensor_val(Wc3, sess)\n",
    "Wc4_q_val = quantize_tensor_val(Wc4, sess)\n",
    "Wc5_q_val = quantize_tensor_val(Wc5, sess)\n",
    "Wc6_q_val = quantize_tensor_val(Wc6, sess)\n",
    "\n",
    "#plotting extracted quantized features (W)\n",
    "\n",
    "filt13 = np.zeros([3,22, 8, 8]);\n",
    "filt46 = np.zeros([3,22, 4, 4]);\n",
    "\n",
    "Wc1_q_val = Wc1_q_val.swapaxes(0,1);\n",
    "Wc1_q_val = Wc1_q_val.swapaxes(0,2);\n",
    "Wc2_q_val = Wc2_q_val.swapaxes(2,3);\n",
    "Wc2_q_val = Wc2_q_val.swapaxes(3,0);\n",
    "Wc3_q_val = Wc3_q_val.swapaxes(2,3);\n",
    "Wc3_q_val = Wc3_q_val.swapaxes(3,0);\n",
    "Wc4_q_val = Wc4_q_val.swapaxes(2,3);\n",
    "Wc4_q_val = Wc4_q_val.swapaxes(3,0);\n",
    "Wc5_q_val = Wc5_q_val.swapaxes(2,3);\n",
    "Wc5_q_val = Wc5_q_val.swapaxes(3,0);\n",
    "Wc6_q_val = Wc6_q_val.swapaxes(2,3);\n",
    "Wc6_q_val = Wc6_q_val.swapaxes(3,0);\n",
    "\n",
    "filt13[0,:,:,:] = Wc1_q_val[:][:][:];\n",
    "filt13[1,:,:,:] = Wc2_q_val[:,:,:,:].sum(axis=0).swapaxes(0,1);\n",
    "filt13[2,:,:,:] = Wc3_q_val[:,:,:,:].sum(axis=0).swapaxes(0,1);\n",
    "filt46[0,:,:,:] = Wc4_q_val[:,:,:,:].sum(axis=0).swapaxes(0,1);\n",
    "filt46[1,:,:,:] = Wc5_q_val[:,:,:,:].sum(axis=0).swapaxes(0,1);\n",
    "filt46[2,:,:,:] = Wc6_q_val[:,:,:,:].sum(axis=0).swapaxes(0,1);\n",
    "\n",
    "print('W1-3 max',np.abs(filt13).max())\n",
    "print('W4-6 max',np.abs(filt46).max())\n",
    "\n",
    "plt.rcParams['figure.figsize'] = (10.0, 10.0) # set default size of plots\n",
    "for i in range(22):\n",
    "    for j in range(3): \n",
    "        plt.subplot( 22, 6, 6*i+j+1)\n",
    "        plt.imshow(filt13[j,i,:,:], vmin=-q_dec_val,vmax=q_dec_val)\n",
    "        plt.axis('off')\n",
    "        if(i==0):\n",
    "            plt.title('layer'+str(j+1))\n",
    "        \n",
    "        plt.subplot( 22, 6, 6*i+j+4)\n",
    "        plt.imshow(filt46[j,i,:,:], vmin=-q_dec_val,vmax=q_dec_val)\n",
    "        plt.axis('off')\n",
    "        if(i==0):\n",
    "            plt.title('layer'+str(j+4))\n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAysAAANDCAYAAACt8IBrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsnXe4HeP2x79z9d65eu/ROwkSogdRrh4EQfTy027U6FcX\nQfQg0SMREhFBlAgiWhCit+Dqncv8/pidsdZn5py9D6fsP9bnefLkXefdZ++1Z94yc+a71krSNFUQ\nBEEQBEEQBEG98Y+2diAIgiAIgiAIgqCMuFkJgiAIgiAIgqAuiZuVIAiCIAiCIAjqkrhZCYIgCIIg\nCIKgLomblSAIgiAIgiAI6pK4WQmCIAiCIAiCoC6Jm5UgCIIgCIIgCOqSuFkJgiAIgiAIgqAuiZuV\nIAiCIAiCIAjqkrhZCYIgCIIgCIKgLqn7m5UkSf6dJMngJEkmJ0nyR5Ikp7ShL8smSXJ+kiTjkyT5\nNkmSj5MkGZokyRpt4Mv8SZLckiTJ6xVfvkqSZGySJHu1ti9lJEmyZ+V8fdsGn71o5bP57/ckSf7V\n2v4Yv5ZIkmRAkiSfJknyY5IkbyRJ0ruVfTi1gWMz5d96relPxad/JknSL0mStyvHZVKSJBcmSTJn\nG/iyZJIkdyVJ8mWSJD8kSfJ4kiQbt8Ln1rzOJUmyQJIkd1Tm/DdJktybJMnibeFPkiTLJElycZIk\nTyZJ8lPltYu0kS87JEkyMEmStyrn7vUkSS5IkmS2NvJn+yRJhidJ8lGSJD8nSfJBkiR3JkmyYmv7\nUvJ7D1Vef1lz+dIUfxpZh35sbV/M63dJkuSpJEm+r8ytJ5tz7jfh2LzTyPo8sTV9qbx20yRJRiVJ\n8nny53XGns3hx1/0Z9ckScZV1pvPkiS5NkmSuZrJjyZd47X0WtwUf1p6LW6iL82+Fk/999xvFXpL\n+kTS85I2b2Nf9pfUXdLdkq6QNJukAyU9nSTJ5mmajmpFX+aWtICkOyW9L2kaSZ0l3ZQkybJpmvZq\nRV8cSZLMJOlcSd+3lQ8VBkh6AD8b0xaOJEmyqqRHJH0o6QJJX0haRNLCrezK3ZLeLPn5OZJmlvRs\nazpTGStPS5pBUl9JH0haRdKhkjaW1Gp/CEiSZKGKL79JOk/Sj5L2lTQiSZJOaZo+0YIfX9M6Vzle\nj0qaRdKZkv4n6WhJjyZJsmqapl+1pj+S1lN2rl6t/Fu1mT7/r/hytaSPJN2sbE1cqeLblkmSrJ6m\n6S+t7M9Kkr6UdImk/0r6p7L945kkSdZN0/TlVvQlJ0mSHSStKylths//O/6kkg6S9IP52e9t4UuS\nJKdJOlnZfnqDsv20naQF28CfI5StxZZFJZ0l6cHW9CVJkm0lDZL0lKRTlZ2zf0nqnyTJXGmaXtrK\n/hys7NrrIUlHSVpI0pGS1kiSZJ00TX/9m37UfI3XSmtxU645W3otboovzb8Wp2la1/8kLVL5fy5J\nf0g6pQ19WU3SjPjZnJI+kzS6rY9VxZ8hkr6VlLShD+cqmyy3SPq2DT5/0cpYObqtz0fFn0TSy5Ke\nlDRtW/tT4t9Cyi4SrmyDz96t8tlb4OenVX6+Siv6coWkXyQtZX42g6T3JD3bwp9d0zon6bjKcVnd\n/GxZZTdYZ7aBP7NLmqnSPqbi2yJtdGw2LPnZXpXf6d7a/jTwu/NK+lVS37bwRdJ0kt6W9O/K6y9r\no3N1amWszNmcn/8XfVm34svhLeVLM4ybXhUf12nlY/Ogsj8gTW1+NpWyP3iNb81jo+wG8ktJo/Dz\nrSu/c0gz+FHzNV5rrMVN9KdF1+Im+tLsa3Gby8Aqj9GuS/58VP52kiR9kySZWpLSNH2/XvxJ03R8\nmqbuMXWapl9KGi1p+db0pZFfe0/SjJKmbQt/kiRZStlfOo5WNmlbhFqPTZIkMyZJMk1L+VGjP5tL\nWlHS6Wma/pokyQxJkrTY3PsL42b3yv+3toE/s1Ze9hl+bXLl/59ayZdpJLVXtgFPmvL6NE1/UvYH\ngNUrY7u5P7ep69yOym6cnjc+TpT0sLK/eLaqP2mafp2m6Q/VX9kqvowu+fGgyv81r88tvCd9ruyJ\n3ext5Mvxyv54ckETf6+l/PlHkiSztLEvR0r6JE3TyyrvO1Mb+1PGbpLeSdN0bCv7Mqukr9I0/d+U\nH6Rp+ruyJ4U1r83N5E87ZfPmDvvDNE3vV6bi2PXv+tLEa7wWX4ub4k9Lr8VN9KVZ1mJLm8rAkiSZ\nX5nsZFZlj40mKnvsupOyC+5WjXf4G/78U9nkbXVfkiSZXtJMyh4bbyxpH0lPpc0neWiSP5IulfRw\nmqbDkyTZpTl9aIIvUzhV2aacJkkyTtK/0zR9qA382VTZ4/PfkiR5TtLqkn5JkuReST3T5pPu/NUx\nvLukD9MWkDnV4M9oZcfm0iRJjlUmk1tF0kmSBqVp+kYr+TKDsr86f1nyq1MW6NUlTSrp/zufW/M6\n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\ngjEcvB6o5VzxO9gY3QMPPND1MfaHe6y9FuJaseWWW1b1heOGsRzcG+xncJ/hHGJcKWs2lcG9xtai\no2+8LuW4sest5x+vB8rgNQljxZ5//nln29hqxkLTV64PtcRWck5bu1oMDq8RbDwv941a4gcbIp6s\nBEEQBEEQBEFQl8TNShAEQRAEQRAEdUncrARBEARBEARBUJcktegygyAIgiAIgiAIWpt4shIEQRAE\nQRAEQV0SNytBEARBEARBENQlcbMSBEEQBEEQBEFdEjcrQRAEQRAEQRDUJXGzEgRBEARBEARBXdLi\nFey/++47l26MFVZZbdhWpZ80aZLrO/PMM509efJkZ1900UXOvvHGGxP606lTJ+cPq32yurCt8tqj\nRw/X99RTTzmbldG32morZ3ft2tX5M2bMmEZTsZ199tnOHjduXN7efvvtXd+wYcOcvddeezmbFV+X\nX375wrE55ZRTnD+2MvlHH33kXrvKKqs4+4MPPnD2m2++mbdHjx7t+nbddVdnDxw4sODLvvvu63zh\nONl0002dvfLKK+ftW2+9tVFfWXGdx65///4Ff7p27er8sWOTVZdZDXbuued2tj1WrC676qqrOrtb\nt24FXzp06OB82WCDDVy/rcou+Sqy77//vutjxWfOuX/8w/89Y+zYsQV/pp56auePnYe2grIknXXW\nWc6eaaaZnL3++uvnbVYCv/baa5297rrrFny5++67nS+sPHz55Zc7e5555snbjzzyiOtj1fLFF1/c\n2bbCsyQNHz684M8BBxzg/OnQoUPetlXXJenxxx939qhRo5w9YMCAvL333nu7voEDBzp7woQJBV+2\n2mqrFLbrt1WZJV+52K49kvT11187mxWmzznnHGd/+eWXBX8++eQT58+vv/6at23Fdkl65ZVXnM29\nYOmll87br7/+uuu77777nN2lS5eCL5dcconzhWv5ggsu6OwxY8bk7X/+8598L2dfffXVzt5ss82c\n/d577xX8GTt2rPPHzumpp/bbNtdeVj63/t1yyy2uj9W3+/TpU3XtW3fddV3/gw8+2ODnce3n2jvD\nDDM4285HSXrttdcK/jz++OPOH7s3LbTQQu61I0aMcHbfvn2dPf/88+fto48+2vW98MILzr700ksL\nviy99NLOF14jNFYZnNcPdm2QpLFjxzba36NHj4I/2223nfPHVjfn77/33nvOfvTRR5196KGH5m2O\n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\nSslz584Nbawo3apVq1xf2rdvH/pSqGLtbrvtlh2zUq+vGG+WHyes3Dtp0qRcf4YNGxb64yu7t2jR\nIvwtz49VhX2F99133z20sdp9atywL6tXrw7trGjvx22NGjVCGytMn3rqqSFesWJFiEeNGpXrT+3a\ntUN/br755uyY1a2fe+65EF9yySUh9pXKWf35tttuC3GtWrV+95xatWpViOfPn58dc23jtdl2221D\n7Kumm6XX4mXLloX+LF68ODt+7733wt8++uijIX711VdD7OfccccdF9puueWWEB955JG5vqxZsyb0\nhRW0/bUwi2vMwIEDQxsrg3OP45yfNWtWrj+DBg0qc45v2rQp/C3Hpa+ubRbX6kmTJoU2rh0DBgzI\n9eWMM84Ifbn33ntDO6uH+/40bNgwtF199dVl9s3M7PHHHw9x586dc/358ccfQ3/8usD1hTEr2vtK\n6FzHOY7q1KmT68vmzZvL3BfM8tW9N2/enB3PmTMntLEyOMcRnzdefPHFXH8WLlwY+vP8889nx59+\n+mn4Wz5fnX766SH2zxv9+vULbR999FGIn3rqqVxfKleuHPrSqFGj0F6lSpUQ+7F40EEHldlmll8f\n+Ow0aNCgXH/uvvvu0J+ddtopO/7ll1/C3+66664h3m+//UL85z//OTvm2scxkNqnTjjhhNCXunXr\nhvZu3bqF2J/fE088Edq4jk+ZMiXEXbp0CfF5552X68/gwYNDfw4++ODs+JRTTgl/O3r06BBPnDgx\nxN988012/Mknn4S2Y445JsTLly/P9aUs9GZFCCGEEEIIUZLox4oQQgghhBCiJNnqMjBKYpo1axZi\nvgb2r/+mTZsW2j744IMQ16pVK8QzZ84s2B++Mn/33XdDzNebXkJUsWLF0NakSZMQU5px6KGHltsX\nL7Myi6+Izcw2bNgQ4q+//jo75itrSp28LMrM7Kuvvgpxp06dcv1p2rRpiP2rR74WpcyM+Nd/lPr4\nV+9m8ZXjFijDoFyJr15/++237JivhCllohSK8sEUfC3t7/WCBQtCW/369UPMV8xvvfVWdkyZAv82\nBccVpYscw6+88kp2zNfpvPZ85bvHHnsU7M9ll11W5vfzNTCL0HJOewnb22+/Hdp4z1PjhveS0gNK\nyV577bXsmNJCP9/M8jKN1BwiRx55ZIj9OXBMc055OZ1ZHFeUs1EaxLXRLL+e8PpRvuD7yvvmJVtm\n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\nq/5VnJnZnXfeWelYzNLXfV6WQZnEEUccEWLem/fee69o8z7xc7766qvJWJhKkNIHvsJeuXJl0aZ0\nyY/FzOydd94JMV/J5jjmmGNC7P8Grw2lFnwV6tMEUvZF2UDuvjGNM9ODfvzxxyH2ciPKktq3bx9i\nSmYWLlyY/H1CCZJPV0xppk+japZKyHwqVcrbKpPi/AUlKpTo1axZM8RevsSUt0xnS9kS1wtlnWZm\nv/zyS4ivuOKKos15x9fp3D/8K3TK3bjGcqxYsSLETHHLPcOnoOS/pWyC/UzfnYPyUC+D4efhWbDT\nTjuF2EufuA/nJGiE64J7BCVyp512WtGmBGXWrFkhZvpOynsohTZLr6df86uvvnroo2TMp1U2i1JH\n7h2UGuY4+uijQ0wZ1s8//xxiP48pZb7ppptCTCkkP9uxxx6bjId7sZdEL1q0KPRx3rz22msh9rIz\nSuJKlR4wS6XflGdTFubn7QsvvBD6+Ln4fMG9KwdT0DJtvqdRo0Yh5hoYOHBg0WZa5W222abkWHju\n8hxs2bJliP3+znODMlPOk6qUrWCqef87+O+5hihn9DK0WrVqhT6uh6qMhc9PTKPt561Pf2+Wyhcp\nQ6tsDvwFJYl+njZr1iz0zZ49O8TcX+fMmVO0eaby2eTvoDcrQgghhBBCiLJEX1aEEEIIIYQQZYm+\nrAghhBBCCCHKklXuWaH3gGlrqWE9/PDDi/b+++8f+ph+16eeM0vTsOZgmjdCTV23bt2KNn0i1Psy\nnR61xOSWW26ptJ/eB69TZ5pBpnjkWKjlz0EdpU/PR28B9adMF+pT1vKaUueb44QTTggxU1BSe/z6\n668X7U6dOoU+aiypTebnzsF77f1DM2fODH3Un2644YYh3meffYo2dcj05uRo0KBBpX+vV69eIfa+\nK6bb5X1dsGBBiJkKMwd18F4LTF8GfRj8vF5f36VLl9DH65yD6cJ5fc8666wQ+zSQ5557buijZp3X\n9Y033ig5HmqrvV/Lry+zVKdN34f3TYwcOTL0rbvuuiXHwv2IHiCmxPS6dO7F9Mh5z5hZ1Twr3P+8\nZ+XJJ58MfUztOXjw4BB7bTQ13fRltW3bNhkLdefeW2SW7hE+lTvXFDXcw4cPDzH3shx77713iP2a\nZ3peXit/hvLfcu/l+Zzj999/DzHnDc9h7+HzaZPN0uvIfZ7pdXPwnK9Xr17R5n7FsdLD4vX19NPR\n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\nsA899NBgV65cOefPVVddFfzxVepZTduPC7P89/dznNXoq1atGuyePXvmfGnVqlXwhdW3Wend+9ei\nRYvQxz2tZs2aZfpqZnb33Xfn/Pnkk0+CP6tXr87afsya5fdJXwnczOzss8/O2gceeGDoGzBgQLBr\n166d82WHHXYIvnzzzTehn+tpkyZNsnbLli1DH+cw90nOCUvsU7fffnvwZ8yYMVm7X79+4bVLliwJ\nNse8r0S+0047hT4+e/3xxx85X2bNmhV8+cc//hH6Wel9/vz5WZv7IPf7r776KtinnXZasHv16pXz\nZ8yYMcEfX9n9yy+/DK9lllz62rhx46x99NFHh74dd9yRH53zZcWKFeEDFi9eHPpXrVoV7FtuuSVr\nc87w84844ohgH3bYYQX9ueGGG4I/b7zxRtbmcy6f4bmG7LPPPlm7YcOGoY/78a677przpSx0siKE\nEEIIIYQoSfRjRQghhBBCCFGSbHAZ2M477xxsHlH7I1yzeLxYt27d0Pfdd98Fu3PnzsFOHL/loFyK\nUi0esftjaR4xk08++STYPJ7nkThlJV46ZWY2derUYC9cuDBr87rWqVMn2P642SwvVUpB/7wEiN+N\nx5b+uNnMbKuttsralIxwDKSgdIPH0LT90SMla5RJ8Z7z+J33xSx/L/1RK4/6KQd89913g+3lfJRF\n+ePlspgxY0awKYnh9fVSLI5/+r7tttsGm7KpFPw8LwvhuKGc79VXXw22l6m0bt069B188MEFfeER\nNe8bJYl+bFC+QzkhpY+0U1BO4McCZWCUIvD4nTIVz8cffxxsjonU+1966aXB7t+/f7C9FIBSSfpO\nCRmve4pTTz012P/617+ydt++fct9P0pKVqxYkbU5xr1ksyy8BMXMrGvXrsH+4Ycfgv3RRx9lbc6R\nYcOGBbtTp07BvvPOO4N944035vyhXGvt2rVZm+vX+++/H2yOkwoVKmTt3XffvdzPSeFlpGb5fYr7\nor83vG5+nTbLzzlKn1LccMMNwfbScd57yrImTZoU7E8//TRrc+0t5tpwTnGfpUTHy5cee+yx0Md9\nkmszJW28l2ZmV1xxRbA32uh/VDaUP5933nnBpqzVy8T4PFG5cuXcZxM+r/He+jlkFvcN7kP169cP\nNiVx7dq1K+gP56Xfi4466qjQx2tP/Hr71FNPhT5KRlN7OvcWhh9QKur3SUrguNZzjvE60z+z/DOS\n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\nqTvvvDPYt956a86XSy+9tNwUfttuu22wfUXZf/3rX6Fv1apVwWYl8h133DHYp5xySs6fZs2aBX/W\nrVuXtatVqxZeW6lSpWCzanPLli2zNqvdnnbaafQ150ufPn2CL/79zMwuu+yyYPvr8cUXX4Q+Vupm\npeK999472JMmTcr5U6tWreCPrwZct27d8Fp/3czMunbtGuxWrVpl7UcffTT0HXTQQcFu3bp1zpel\nS5cGXx555JHQz+rft99+e9b266CZ2SuvvBJsjqNGjRoFe8CAATl/qlWr9gdek7VXr14dXvvkk08G\nm9eqY8eOWZuVsd97771gjx49OudLly5dgi/+/czy1cb9tWE17eHDhwf71ltvDfZ//vOfYDdt2jTn\nz2WXXRb8eeutt7I2xw2v/VlnnRXsM844I2uz2jT32C222CLny8477xx84Vj49ddfg+33jSZNmoS+\nN998M9jjx48P9uTJk/nZOX8OP/zw4I+vGM5r7X0xy1+7LbfcMmuz8jcrkffu3TvnS+vWrYMv//3v\nf0M/K79/8MEHWZtz9sgjjww2n29q1aoV7JYtW+b8eeqpp4I/vXv3ztqHH354eC2rvnPOdujQIWtz\n7W3dunWw27Vrl/PluOOOC75Urlw59HN989eGe/SFF14Y7BNPPDHYN910U7AnTJiQ8+eCCy4I/tSr\nVy9rd+vWzcrqMzPr0qVLsM8555yszes6d+7cYP/xxx85Xz755JPgC9de3nvvz/PPPx/6OKf5bPb7\n778Hu0aNGjl/OnXqFPzx45brGz+vU6dOwf7qq6+yNucffRk0aFDOl7LQyYoQQgghhBCiJNGPFSGE\nEEIIIURJssFlYPfcc0+wvZTBzKxp06bBfvDBB7N2mzZtQt8VV1wR7C222CLYPKpM8cwzzwSbcgYe\nx/3zn//M2pSBUAZGqRKPBwklMZ988kmwf/vtt2D770uJCiUz9KV+/frl+mJmtvnmm5f5eS+//HLo\n22yzzYJ96aWXBtvLXShRo+wqRcWKFYPNo8+nnnoq2Mccc0zWrl27dujzx5JmeelDzZo1C/rDe3ns\nscdmbcoFnnjiiWBTWjhnzpyszeNmP97Kgsf3G2+8cbApe/FSs7vuuiv0ff7558H2R/FmZnXq1Cno\nD8di9erVs/a8efNCH8f4TjvtVObns2DtVVddVdAXyjAWLFgQbC/7MItySX5X3otTTz012PwuKU46\n6aRgv/DCC1mb0qJDDjmkXF9/yMMXgwAAIABJREFU/vnnrE2JKaUHKSZOnFimL2Zmr7/+erD33HPP\nrM3rSvneyJEjg3355ZcX9OeCCy4I9tixY7M25YOUklIy49cLymUOOOCAgr5Q2kB5JseRl6XwunmJ\nmJnZmWeeGWyu1SkoZb3llluSbbP82nTeeecF+9BDD83alEE9/fTTwaa8xywvKb7xxhuDzfX8iCOO\nyNq8jpRlcv3hd6OE1iw/7/yefcopp4Q+2lyP/L7CdfWnn34KtpdU/cmSJUuCzTXrtddeC7aXY3PO\n8ntRzrNs2bJg81qamY0ePTrYXhLI9cXvQ2Z5CfDdd9+dtXkfKcNMwXnHfXLlypXB9nsBpUfc47zM\n3Mzs5ptvLujPwoULg+3n4dVXXx36GjZsGOxFixYF20shKd3edNNNC/pyySWXBJvrGceV3wsoc6XN\nZ1q/H5cF1yg/T3gfP/3002Dzecc/w1Oux2f2v4JOVoQQQgghhBAliX6sCCGEEEIIIUoS/VgRQggh\nhBBClCQbPGblyiuvDDa1zMcff3ywvU6UaQ6pKae+nlq6FHwPxmlQM1ulSpWs3b9//9C36667Bpua\nU2rcGb+zYsWKYD/33HPBpsbU6/3mz58f+pgikTpGrwc3y98Xs3xsx8EHH5y1qb1l7NGaNWuCfccd\nd2Rt6vaZSjgFU95Rl01trv8+TJfZq1evYH/22WfB9qk9y+Lss88O9nfffZe1meaUsUbUFq9fvz5r\nM80xUxam7pNPY2qWj9Wivt7HRlCj7mN9zMzGjRsXbI7ZFDVq1Ai214kzjTLnCO+jjwNj+krGiKVg\n+lHqsJs3bx5sPzYZr/a3v8X/y6GOmqk4UzA9qb/fTPfNlLDNmjULttd8M3X51ltvXdCXt99+O9ic\n04MHDw62j1Nh6s6ePXsGm3FL1P+noGbex8hQr89YQ+L171z7ihk3XNsZz8O0+X4N8bFEZvnrynSd\nxcSsMJ7Bf8YJJ5wQ+hgzw73AX0vuMVxvUjEr3KcYD8m1f/r06Vl73333DX3cExmL6FPQl0UihXnW\n5nrDeMGpU6eW2d+9e/fQxzipFIwdY6wR9xq/b/tnC7P8OsqYNfqewu+7ZvHeMHaUcWEsveCvB1NM\nMzYnFc/DuA/GuTEGx1+PpUuXhj7uG0wzP2XKlGAzBsMsHx/l92Hu0Xz29Pu9WYwL3XnnnUMfY7pS\n+JhXs3x8FL9PhQoVsjbnDNdilhtgiv0ULCniY/L4/j4mzcysb9++wfbPQy1atAh93FP/CjpZEUII\nIYQQQpQk+rEihBBCCCGEKEk2uAyM0oNrr7022L66tlmUM/CYdJtttgk209f+8ssvBf3hUSA/v3Pn\nzsH2R4U8luWxKiU1lNwQpsuktIrp+oYOHZq1edTPozmmk2PKyhSsUu+PYukbZR88fvcpEykjKCaV\nHo/6KbVg6kI/bvbaa6/Qx0rdTEF9ww03BJspss3y0g2fUpNHqEzP16NHj2D742/KEFlhPsX+++8f\nbKYW5bXzqQQp9eF9ZArqYuYUq/8OGzYsa/O4m5XImRbRz09KKnj8zTFvlpcWMSWlrzxsFu8jpT+U\ncPFeMWUl77NZvqK2T/HrK7ab5ce0v29mUfrAtMrFyPW4ZjDlrJfvmEVZCqUNXCcpV6QUKiWpYTpk\nP44pEWGV9OOOO67M96Jka9asWbnPJpRWtWvXLtjt27cPtpeZ8LpxzPG6DxkyJNgTJkzI+UNJopeF\nffjhh6HPy3XN8muVT13MVOGU/qTwaehTn8c9fdWqVVmbKa25T+y3337BZgraVArs8iRyTNvKlLBe\namgW126OMUpG+bxhlk/Hy2cEriH+eYPjgpJgpjY/7LDDcp9PmA7cr6+s8u7XabP89/ffjen9KX1O\nwXnB5xlKrbx8k3Jk3nPKCTluUjKwrbbaKth+/XvsscdCHyVyXG996mY+W11//fXB5p5jlt+nmBqa\ne8uoUaOytpdomeX3nUGDBgWb+1YKym49DHdg+QOWH/H7GCViDN3gdS8PnawIIYQQQgghShL9WBFC\nCCGEEEKUJPqxIoQQQgghhChJNnjMCvX01L9Rt+21e0zHWSjtIuMaUlDv9/XXXwe7QYMGwd50002z\n9qJFi0IfU1JecsklwWZMC2FKOaYHrFixYrC9jpo64ldffTXYbdq0CTbjf1IwPZ9PncxUyUzZ6ONp\nzMxq1aqVtZnar5j7RM02NfDUkHr9K+8TryO1wo0aNSroD7+fj+2gPpb6dqbr89eZ449xTymYXpTp\nMRkr5XXU/NslS5YEm/paxqOkOO+884Lttd4LFy4MfZwzTLvqx8qjjz5a5vuWBXXdPnbKLB/35rXX\nHCdMj8k0qCktMmEKXz9uGHcxfPjwYHOM+/SdXGsaN25c0JfatWsHmzpljiP/eqZKZlwEU4uef/75\n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\noWeEnhXq+6nBrsF9baK7sRLcAAAUpklEQVROO96nUrK+vPZ7UVPPvX2oR69Bb9PXv/71FJ9++ukp\njs+e4za9f/Pnz08xvYznnHNOoz4XXnhhimOf4n4c3COGPpSo52cb78cHwbGe/kiOd/Gc9GGuX78+\nxZzjGNfgPBznUY5n9Ohwfo/PvZ+xjnAvJPZ3Xk8c+3nvOcfQY8E2WoN+qGnTpnWOlyxZksrotZgx\nY0aKx40b1znmWMz+WYM+EvpsOdfFdsZ7Qc9tP94mwj1/4rOgZ43vbt2e6/HHH9/1b2twPOP1cW6I\nf99tr6BSmj6xfqAPLb5T8H2N5+fvRx/osmXLUhnPFdtnL1xZERERERGRVuLHioiIiIiItBI/VkRE\nREREpJXs1U8OehERERERkf9vXFkREREREZFW4seKiIiIiIi0Ej9WRERERESklfixIiIiIiIircSP\nFRERERERaSV7fAf7G2+8MaUbGzNmTCrnbrxxh/tbb701lXFXdu44y11VX3311bxlcynl2muvTfX5\nxz/+kcq5G3iEO8hy903ujM5z77///qk+p5xySqrLu971rvT3cYfVUvJuwNw1mbtd99rte9WqVY17\ns23btlSfv/zlL51j7tbNnc55rc8//3znmLtdcwfUDRs2NOoycuTIVJfjjjsula9bty7FkydP7hzP\nnj07lcXdrUspZfDgwSlmRrwDDjigUZ/nn38+/VHc0fu5555Lf3vnnXemmG3qhBNO6BxzB/u4U3Up\npYwfP75RlylTpqS6cKdg7o4b44MOOiiVcTdqlvM5Dx8+vFGf9evXp/rEHW0XLlyY/pY72LJPxV2O\nR4wYkco++tGPpvhNb3pToy4rV65MdeGzZb+Ju8Zzd3vuhs1d03fu3Jnia665plGf5cuXpwp84hOf\n6Bxzl2buYM8d5p955pnO8Zvf/OZUxvv4hje8oVGXjRs3prq8853vTOVsR3E37JdeeimVxbGBdSul\nlF//+tcp/vGPf9yoz/nnn5/qc+2113aOL7roovS33LWZ41tsGxxH4w7npZQyduzYRl1Wr16d6vLo\no4+m8uuuuy7FN910U+eY/e28885L8e9///sUb9u2LcVDhw5t1Gf37t2pPvH+83wcT9mu4vjHsscf\nfzzFa9asadRl+vTpqS7sly+88EKKDzzwwM7xaaedlsqGDx+eYs4r7GO1Pr733nun+gwbNiz+ffpb\n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\n+nApdOzYsZ1jStq41NltSZtLmlzGrBHld6U0lylZ1yit4rLsiBEjUkxpEKV/NZgqMUod2KYoH+Iy\n7bHHHts5ZnruftJvM0U206zyHLHdsq5s00wd2o98kGkeY3pkyiTYRygBHDZs2IC/3c/yOvsB2xol\nNLFd8/cmTJiQYqYy7SetM9PMRrkS5UKUYbAPxBSUTJvcT0pI1pdjCOVEUb7J9LWxv5XS7B/93JvD\nDjssxTfeeGPnmPIdStQ4HkWJHNNls+5nn312oy6f/vSnu56fqYRju6XslDLN/fbbL8WUXsXx4DWY\nBjteE9O4895MnTo1xXFOZbvplpL9NShjpbSL4128HzFtcinNeYnjDdOs1mRgHAdi22Mb5nhAuU2E\nUmOm1qVkvZRSRo8enWJKxUmUsrLPbN++PcUvv/xyipkGtgblkVGiR4nakiVLUsxxPNZ1zpw5qawm\n3SaUTsexvZSmLCuOtxzPuqX/L6V5r2qw38TrnThxYiqjfI9jf5SJsQ8xJX0NSuMpC6N86qWXXuoc\nc9zm7/E6+e5X4+KLL07xJZdc0jnm+xKfK8fX+L5HOR/fE18PrqyIiIiIiEgr8WNFRERERERaiR8r\nIiIiIiLSSvaivk1ERERERKQNuLIiIiIiIiKtxI8VERERERFpJX6siIiIiIhIK/FjRUREREREWokf\nKyIiIiIi0kr8WBERERERkVbix4qIiIiIiLQSP1ZERERERKSV+LEiIiIiIiKtxI8VERERERFpJX6s\niIiIiIhIK/FjRUREREREWokfKyIiIiIi0kr8WBERERERkVbix4qIiIiIiLQSP1ZERERERKSV+LEi\nIiIiIiKtxI8VERERERFpJX6siIiIiIhIK/FjRUREREREWokfKyIiIiIi0kr8WBERERERkVbix4qI\niIiIiLQSP1ZERERERKSV+LEiIiIiIiKtxI8VERERERFpJX6siIiIiIhIK/FjRUREREREWokfKyIi\nIiIi0kr+D1q4PgLrRnn4AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1374b6cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plotting ALL Wc2 folters\n",
    "plt.rcParams['figure.figsize'] = (10.0, 10.0) # set default size of plots\n",
    "for i in range(22):\n",
    "    for j in range(22): \n",
    "        plt.subplot( 22, 22, 22*i+j+1)\n",
    "        plt.imshow(Wc2[:,:,j,i])\n",
    "        plt.axis('off')\n",
    "        if(i==0):\n",
    "            plt.title('c'+str(j+1))\n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "data_orig = np.zeros([n_train, 48,48])\n",
    "data_orig[0,:,:] = np.reshape(test_data[1], (48,48))\n",
    "data_orig[1,24,24] = 1.0;\n",
    "image = data_orig[0,:,:]\n",
    "result,W1, h1, h2, h2p, h3, h4, h5, h6 = sess.run([y,W_conv1,  h_conv1, h_conv2, h_conv2_pooled, h_conv3, h_conv4, h_conv5, h_conv6], feed_dict={xin: data_orig.reshape((64, 48**2)), keep_prob_input: 1.0})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(64, 48, 48, 22)"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x14df78e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "img = image;\n",
    "kernel = np.zeros((8,8))\n",
    "padding_down = np.zeros((int(kernel.shape[0]), img.shape[0]));\n",
    "padding_right = np.zeros(( img.shape[1]+2*int(kernel.shape[0]), int(kernel.shape[1])));\n",
    "img_padded = np.concatenate(( padding_down, img, padding_down),axis=0)\n",
    "img_padded = np.concatenate((padding_right, img_padded, padding_right),axis =1)\n",
    "plt.rcParams['figure.figsize'] = (3.0, 3.0) # set default size of plots\n",
    "plt.imshow(img_padded)\n",
    "np.shape(h2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Results after convolution 1, tensorflow\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABLcAAABoCAYAAAAD3xLnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsvXl0XNd54Pm7tW+oBfsOECBIcBElkRIlWRJNR7JlO47c\nTtuaxMlx0idxprf0tN3dk850ll7SnU4m3U7UPp52PG17OonHju2ejrxHO0VS1MJ9JxYCJAiA2AuF\n2pc3f7y614W9AFQVqsT3OwcHZKHqvfvVe+/e736r0DQNAwMDAwMDAwMDAwMDAwMDAwODSsS03QMw\nMDAwMDAwMDAwMDAwMDAwMDDYLIZxy8DAwMDAwMDAwMDAwMDAwMCgYjGMWwYGBgYGBgYGBgYGBgYG\nBgYGFYth3DIwMDAwMDAwMDAwMDAwMDAwqFgM45aBgYGBgYGBgYGBgYGBgYGBQcViGLcMDAwMDAwM\nDAwMDAwMDAwMDCoWw7hlYGBgYGBgYGBgYGBgYGBgYFCxGMYtAwMDAwMDAwMDAwMDAwMDA4OKxTBu\nGRgYGBgYGBgYGBgYGBgYGBhULGVr3BJC/GshREYIUb3dYykUhkyVw3tRLkOmyuC9KBO8N+UyZCo/\nKn38K2HIVDm8F+UyZKoc3otyGTJVBu9FmeC9Kdd7UaZcyta4BWjZn3URQnxQCPHfhBAXhRApIcTg\nRk8mhHhWCHFaCBEVQgxnL7x5w6Nem5LJJIR4TgjxF0KIG9kb+JVNjXh9SiKTEKJaCPEvhBCvCyEm\nhBCzQog3hRDPbXrka1PKa/WF7L03LYQICyGuCCF+Xwjh3tTIV6ekz1TOsbqEELHsfXhws8dZhVJe\np6GsDEt/vrSpka9Oqec+jxDij4UQg9nrNCKE+LYQwrHhka9NqeaK969yneTPb29aguWU8v6zCyF+\nWwhxOTtPjAgh/loIsXdTI1+dUsrkFkL8qRDidvbeuyKE+PubGvVPKct1VghhE0L8Ufa6RYQQp4QQ\nT+d5qrKTKXvt/o0Q4kfZtSsjhPjMBk5VjjI9JIT4ohDikhBiQei64LeEED0bOF05yrU3O1cMZOeO\nSaHrUh/L81RlJ9MKn/ud7Psv5HmqspNpjbUrLYQ4nOfpyk6unPcfFEK8kJ0vFrLn/cd5nKrsZBJC\nfG2VayWvV1OlyZR9704hxDeFviaHhRBXhRC/K4Rw5nGqcpXpkBDix0KIoBBiXgjxEyHE/Rs4XVnu\n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\n/yy6se6jRRnw8vOXZJ3VNO1tIcS3gT8UQjSgy/urQAcFrpdWSt0h643189Poz2dz0s6f1zQttGWB\nKKlM/xndkPACULtUz9A0raDrcQnl+nI21fIY+nzRiO5k2o3e0bhg82MpZNI0bZolKdrZz34OPRi0\noBE0JbxO3xJCRNEjTCbQ9YvPokcFFbx7WQnnv3NCiK8Cf0/onepeBz4A/F3gP2wy7XdbZcrhF9Cj\np4umq5dQpv8TvevjcSHEF9Fr2v0cuh71lUq8Ttn3/R66njuNXt/tV4EfoUd+FpRS7XMrRafY6N69\nYDqFpmll+YMevpYGqpe8/ivZ19tXeG2ln6/meb5n0UNnI+ien38NmCtVppxzrfTze5Um0zqfTQOf\nqcRrhV5v5mvohq0F9C6JF4DfBZyVKNM61+9gJcoEHESP/rmF7ukOoitoP19IebbjOqG3UT+Rvfcm\ns/dj/XtArt/Ivv+jhZZlO2RCTx36E/R00Qh6/ZK/BDoqWKY/QZ/7IsA4uhLUWUHjz3udRXdc/BG6\ncSGCbqB8usJlurnGe9srTSb0CNxV9YxKvVbAc+iRP6PokcZT2f//bKXKtMpnX0XfbFWkTOjNNN5E\nX4fjwAjwdaArH5nKVa7se83oeu0geke368BvVrJM2fefRH+uRL7XqJxlQo9o+j76OhVD1zd+CzBV\nokzoe6wfoetLEXQn4b8ALOV2rdb5bJol+1wqQKfYhEyb1ilyf0T2YAYGBgYGBgYGBgYGBgYGBgYG\nBhXHPV9zy8DAwMDAwMDAwMDAwMDAwMCgcjGMWwYGBgYGBgYGBgYGBgYGBgYGFYth3DIwMDAwMDAw\nMDAwMDAwMDAwqFgM45aBgYGBgYGBgYGBgYGBgYGBQcViGLcMDAwMDAwMDAwMDAwMDAwMDCoWy3YP\nAEAIUZEtGzVNE6v9TQihCSGw2+1kMhkSiUTBziuEoLu7m7a2NtxuN+l0mlgsxuzsLKOjo0xMTGz6\n2GvJlD13xV2r7ZDJYrFQX19PLBYjlUqRTqcJh8MFO/56Mvn9fk0Ioe6NZDKJ0+mkq6uL3t5e6uvr\ncTgcaJrG7OysGrPJZFKtVDOZDABWqxWHw4HD4SCZTDI1NcXAwAB9fX1MTk4uO7fZbObhhx9m9+7d\ntLa2kk6n0TQNk8mE0+nEZrORyWRIpVIAeL1eXC4XoVCIz3/+86vK1dDQoPn9ftra2shkMly9epXx\n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\nCAQCwZnl/wFvty4Mr/rryQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1332d1438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data_orig = np.zeros([n_train, 48,48])\n",
    "data_orig[0,:,:] = np.reshape(test_data[1], (48,48))\n",
    "image = data_orig[0,:,:]\n",
    "h1, h2, h3, h4, h5, h6 = sess.run([h_conv1, h_conv2, h_conv3, h_conv4, h_conv5, h_conv6], feed_dict={xin: test_data, keep_prob_input: 1.0})\n",
    "print('Results after convolution 1, tensorflow')\n",
    "plt.rcParams['figure.figsize'] = (15.0, 15.0) # set default size of plots\n",
    "for i in range(22):\n",
    "    plt.subplot( 2, 22, i+1)\n",
    "    plt.imshow(h1[2,:,:,i])\n",
    "    plt.axis('off')\n",
    "    plt.title('h1 '+str(i))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max Wc1:  0.942267\n",
      "Max Wc2:  1.39372\n",
      "Max Wc3:  1.02589\n",
      "Max Wc4:  0.990101\n",
      "Max Wc5:  1.15402\n",
      "Max Wc6:  0.839514\n",
      "Max Wn6:  1.14417\n",
      "\n",
      "Max h1:  0.424823\n",
      "Max h2:  2.96478\n",
      "Max h3:  7.43573\n",
      "Max h4:  18.9776\n",
      "Max h5:  23.1608\n",
      "Max h6:  14.3356\n"
     ]
    }
   ],
   "source": [
    "print('Max Wc1: ',np.max(abs(Wc1)))\n",
    "print('Max Wc2: ',np.max(abs(Wc2)))\n",
    "print('Max Wc3: ',np.max(abs(Wc3)))\n",
    "print('Max Wc4: ',np.max(abs(Wc4)))\n",
    "print('Max Wc5: ',np.max(abs(Wc5)))\n",
    "print('Max Wc6: ',np.max(abs(Wc6)))\n",
    "print('Max Wn6: ',np.max(abs(Wnorm6)))\n",
    "print('')\n",
    "print('Max h1: ',np.max(abs(h1)))\n",
    "print('Max h2: ',np.max(abs(h2)))\n",
    "print('Max h3: ',np.max(abs(h3)))\n",
    "print('Max h4: ',np.max(abs(h4)))\n",
    "print('Max h5: ',np.max(abs(h5)))\n",
    "print('Max h6: ',np.max(abs(h6)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.12516423"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b_c2[0][21]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/patryk/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:16: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n"
     ]
    }
   ],
   "source": [
    "# made my own function, because the tensorflow convolution is non-standard\n",
    "def conv2d_single( img, kernel):\n",
    "    output = np.zeros((img.shape[0],img.shape[1]))\n",
    "    for i in range(img.shape[0]):\n",
    "        for j in range(img.shape[1]): #kernel operation for (i,j) pixel\n",
    "            for di in range( kernel.shape[0]):\n",
    "                for dj in range(kernel.shape[1]):\n",
    "                    x_ind = i + di-int(kernel.shape[0]/2)+1;\n",
    "                    y_ind = j + dj-int(kernel.shape[1]/2)+1;\n",
    "                    if(x_ind >= 0) and (x_ind<img.shape[0]) and (y_ind >= 0) and (y_ind<img.shape[1]):\n",
    "                        #print(x_ind,' ' ,y_ind, ' adding: ',  img[  x_ind, y_ind] * kernel[di, dj], 'ker= ', kernel[di, dj])\n",
    "                        output[i, j] = output[i, j] + img[  x_ind, y_ind] * kernel[di, dj]\n",
    "    return output;\n",
    "\n",
    "def maxpool2x2(img):\n",
    "    output = np.zeros((img.shape[0]/2, img.shape[1]/2));\n",
    "    for i in range(int(img.shape[0]/2)):\n",
    "        for j in range(int(img.shape[1]/2)):\n",
    "            output[i,j] = np.max((img[2*i, 2*j],img[2*i+1, 2*j], img[2*i, 2*j+1], img[2*i+1, 2*j+1] ));\n",
    "    return output;\n",
    "\n",
    "## Full alghorithm\n",
    "convolved1   = np.zeros((22,48,48))\n",
    "convolved2   = np.zeros((22,48,48))\n",
    "convolved2_p = np.zeros((22,24,24))\n",
    "convolved3   = np.zeros((22,24,24))\n",
    "convolved4   = np.zeros((22,24,24))\n",
    "convolved4_p1 = np.zeros((22,12 , 12))\n",
    "convolved4_p2 = np.zeros((22,6 , 6))\n",
    "convolved5   = np.zeros((22,6 , 6))\n",
    "convolved6   = np.zeros((22,6 , 6))\n",
    "results      = np.zeros(6)\n",
    "\n",
    "## LAYER 1 ##\n",
    "for i in range(22):\n",
    "    convolved1[i,:,:] = conv2d_single(image, Wc1[:,:,0,i])+ bc1[0][i]; # 1st layer, single convolution without accumulation\n",
    "    convolved1[i,:,:] = ReLU(convolved1[i,:,:])     #ReLU (simple remove negative operation)\n",
    "\n",
    "## LAYER 2 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved2[i,:,:] = convolved2[i,:,:] +  conv2d_single(convolved1[j,:,:], Wc2[:,:,j,i]) #single convolution operation\n",
    "    convolved2_p[i,:,:] = maxpool2x2(convolved2[i,:,:])    #maxpooling 2x2\n",
    "    convolved2_p[i,:,:] = ReLU( convolved2_p[i,:,:] + b_c2[0][i] )    #ReLU (simple remove negative operation)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 199,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "convolved3   = np.zeros((22,24,24))\n",
    "## LAYER 3 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved3[i,:,:] = convolved3[i,:,:] +  conv2d_single(convolved2_p[j,:,:], Wc3[:,:,j,i]) #single convolution operation\n",
    "    convolved3[i,:,:] = ReLU( convolved3[i,:,:] + b_c3[0][i])    #ReLU (simple remove negative operation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 201,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/patryk/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:16: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n"
     ]
    }
   ],
   "source": [
    "## LAYER 4 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved4[i,:,:] = convolved4[i,:,:] +  conv2d_single(convolved3[j,:,:], Wc4[:,:,j,i]) #single convolution operation\n",
    "\n",
    "    convolved4[i,:,:] = ReLU( convolved4[i,:,:] + b_c4[0][i] )    #ReLU (simple remove negative operation)\n",
    "    convolved4_p1[i,:,:] = maxpool2x2(convolved4[i,:,:])    #maxpooling 2x2\n",
    "    convolved4_p2[i,:,:] = maxpool2x2(convolved4_p1[i,:,:])  #maxpooling 2x2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 207,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "convolved5   = np.zeros((22,6 , 6))\n",
    "## LAYER 5 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved5[i,:,:] = convolved5[i,:,:] +  conv2d_single(convolved4_p2[j,:,:], Wc5[:,:,j,i]) #single convolution operation\n",
    "    convolved5[i,:,:] = ReLU( convolved5[i,:,:] + b_c5[0][i] )    #ReLU (simple remove negative operation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 209,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "## LAYER 6 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved6[i,:,:] = convolved6[i,:,:] +  conv2d_single(convolved5[j,:,:], Wc6[:,:,j,i]) #single convolution operation\n",
    "    convolved6[i,:,:] = ReLU( convolved6[i,:,:] + b_c6[0][i] )    #ReLU (simple remove negative operation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 210,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(22, 24, 24)\n",
      "......... 0 ........\n",
      "    2.07640    0.00000    0.61879    0.00000    1.06996\n",
      "    0.00000    2.76920    0.00000    0.00000    3.43820\n",
      "    0.22712    0.00000    0.00000    3.43018    1.98018\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.72858\n",
      "......... 1 ........\n",
      "    0.00000    11.33633    0.00000    4.20443    0.86268\n",
      "    0.00000    8.19961    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 2 ........\n",
      "    2.52933    1.45712    0.00000    8.59592    0.00000\n",
      "    0.00000    0.00000    2.21977    0.00000    0.00000\n",
      "    0.00000    0.00000    0.14029    0.00000    0.00000\n",
      "    0.00000    0.00000    7.01827    0.00000    3.05596\n",
      "    2.88155    0.00000    0.00000    0.00000    4.02805\n",
      "......... 3 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    6.60266    0.00000\n",
      "    0.00000    0.00000    8.09822    5.21501    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 4 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 5 ........\n",
      "    3.21553    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 6 ........\n",
      "    5.96998    2.65940    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    10.95340    0.00000    7.21411\n",
      "    0.00000    0.00000    0.00000    0.00000    0.33487\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 7 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    1.92100    0.00000    1.31133    0.00000    0.09255\n",
      "    0.00000    0.37826    0.95622    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.36546    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 8 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    4.75867    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    3.20662    0.00000\n",
      "......... 9 ........\n",
      "    0.00000    0.00000    0.00000    1.66044    0.00000\n",
      "    0.00000    0.00000    4.33456    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.58491    1.24427    0.00000    0.00000\n",
      "    0.44659    6.65929    4.41377    0.00000    0.00000\n",
      "......... 10 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    3.36159\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.94204    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    3.98442    0.00000\n",
      "    0.00000    0.00000    0.91933    5.68620    0.00000\n",
      "......... 11 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 12 ........\n",
      "    0.00000    0.00000    4.82841    0.59483    0.00000\n",
      "    0.00000    0.00000    5.02922    0.00000    0.00000\n",
      "    0.87181    1.37824    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.45839    5.38421    0.00000\n",
      "......... 13 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    1.22707    0.00000    0.00000    0.00000    0.00000\n",
      "......... 14 ........\n",
      "    0.00000    0.00000    3.20594    0.00000    0.48551\n",
      "    0.00000    0.00000    3.36083    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    1.62052\n",
      "......... 15 ........\n",
      "    0.00000    0.00000    0.00000    1.77928    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    1.53833    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    2.06905    0.00000    0.00000    7.15258    2.59326\n",
      "......... 16 ........\n",
      "    4.47017    0.00000    0.83942    0.00000    2.86347\n",
      "    0.22574    0.00000    0.00000    0.00000    1.38504\n",
      "    0.00000    0.00000    0.00000    0.00000    2.39336\n",
      "    0.53214    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "......... 17 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    1.24515    0.00000\n",
      "    0.00000    0.00000    3.00814    2.97601    0.00000\n",
      "......... 18 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    1.46453\n",
      "......... 19 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    3.47751    0.00000    0.00000    0.00000    0.00000\n",
      "    2.67304    0.00000    0.00000    0.00000    0.00000\n",
      "    4.35956    0.00000    0.00000    0.94574    0.00000\n",
      "......... 20 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    2.02239    0.00000    3.65951\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.13066    2.76369    0.47353\n",
      "......... 21 ........\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    0.00000    0.00000    0.00000    0.00000    0.00000\n",
      "    4.28703    0.00000    0.00000    0.91694    0.00000\n",
      "    0.00000    0.00000    0.00000    2.31129    0.17580\n",
      "    0.00000    4.13090    0.00000    0.00000    0.00000\n"
     ]
    }
   ],
   "source": [
    "print(np.shape(convolved2_p))\n",
    "for nf in range(22):\n",
    "    print('.........',nf,'........');\n",
    "    for i in range(5):\n",
    "        for j in range(5):\n",
    "            print(\"    %6.5f\" % convolved6[nf,i,j], end = \"\");\n",
    "        print(\"\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 213,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[  4.32952524e-06   7.40992785e-01   1.87522306e-04   6.58242399e-02\n",
      "   3.79007683e-09   1.92991120e-01]\n"
     ]
    }
   ],
   "source": [
    "results = np.matmul(convolved6.reshape((792)), Wnorm6);\n",
    "results = SoftMax(results)\n",
    "print(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/patryk/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:29: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "l3\n"
     ]
    }
   ],
   "source": [
    "# finalized alghorithm\n",
    "from skimage.measure import block_reduce\n",
    "\n",
    "#ReLU operator (simply zeroing the negative part of the matrix)\n",
    "def ReLU(img):\n",
    "    img2 = img.reshape(np.size(img));\n",
    "    img2[ img2 < 0.0 ] = 0.0;\n",
    "    return img2.reshape(img.shape)\n",
    "\n",
    "# SoftMax Operator to calculate the result\n",
    "def SoftMax(x):\n",
    "    return np.exp(x) / np.sum(np.exp(x), axis=0)\n",
    "\n",
    "# made my own function, because the tensorflow convolution is non-standard\n",
    "def conv2d_single( img, kernel):\n",
    "    output = np.zeros((img.shape[0],img.shape[1]))\n",
    "    for i in range(img.shape[0]):\n",
    "        for j in range(img.shape[1]): #kernel operation for (i,j) pixel\n",
    "            for di in range( kernel.shape[0]):\n",
    "                for dj in range(kernel.shape[1]):\n",
    "                    x_ind = i + di-int(kernel.shape[0]/2)+1;\n",
    "                    y_ind = j + dj-int(kernel.shape[1]/2)+1;\n",
    "                    if(x_ind >= 0) and (x_ind<img.shape[0]) and (y_ind >= 0) and (y_ind<img.shape[1]):\n",
    "                        #print(x_ind,' ' ,y_ind, ' adding: ',  img[  x_ind, y_ind] * kernel[di, dj])\n",
    "                        output[i, j] = output[i, j] + img[  x_ind, y_ind] * kernel[di, dj]\n",
    "    return output;\n",
    "\n",
    "def maxpool2x2(img):\n",
    "    output = np.zeros((img.shape[0]/2, img.shape[1]/2));\n",
    "    for i in range(int(img.shape[0]/2)):\n",
    "        for j in range(int(img.shape[1]/2)):\n",
    "            output[i,j] = np.max((img[2*i, 2*j],img[2*i+1, 2*j], img[2*i, 2*j+1], img[2*i+1, 2*j+1] ));\n",
    "    return output;\n",
    "            \n",
    "\n",
    "## Full alghorithm\n",
    "convolved1   = np.zeros((22,48,48))\n",
    "convolved2   = np.zeros((22,48,48))\n",
    "convolved2_p = np.zeros((22,24,24))\n",
    "convolved3   = np.zeros((22,24,24))\n",
    "convolved4   = np.zeros((22,24,24))\n",
    "convolved4_p1 = np.zeros((22,12 , 12))\n",
    "convolved4_p2 = np.zeros((22,6 , 6))\n",
    "convolved5   = np.zeros((22,6 , 6))\n",
    "convolved6   = np.zeros((22,6 , 6))\n",
    "results      = np.zeros(6)\n",
    "\n",
    "## LAYER 1 ##\n",
    "for i in range(22):\n",
    "    convolved1[i,:,:] = conv2d_single(image, Wc1[:,:,0,i])+ bc1[0][i]; # 1st layer, single convolution without accumulation\n",
    "    convolved1[i,:,:] = ReLU(convolved1[i,:,:])     #ReLU (simple remove negative operation)\n",
    "\n",
    "## LAYER 2 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved2[i,:,:] = convolved2[i,:,:] +  conv2d_single(convolved1[j,:,:], Wc2[:,:,j,i]) #single convolution operation\n",
    "    convolved2_p[i,:,:] = maxpool2x2(convolved2[i,:,:])    #maxpooling 2x2\n",
    "    convolved2_p[i,:,:] = ReLU( convolved2_p[i,:,:] + b_c2[0][i] )    #ReLU (simple remove negative operation)\n",
    "    \n",
    "## LAYER 3 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved3[i,:,:] = convolved3[i,:,:] +  conv2d_single(convolved2_p[j,:,:], Wc3[:,:,j,i]) #single convolution operation\n",
    "    convolved3[i,:,:] = ReLU( convolved3[i,:,:] + b_c3[0][i])    #ReLU (simple remove negative operation)\n",
    "\n",
    "print('l3')\n",
    "## LAYER 4 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved4[i,:,:] = convolved4[i,:,:] +  conv2d_single(convolved3[j,:,:], Wc4[:,:,j,i]) #single convolution operation\n",
    "\n",
    "    convolved4[i,:,:] = ReLU( convolved4[i,:,:] + b_c4[0][i] )    #ReLU (simple remove negative operation)\n",
    "    convolved4_p1[i,:,:] = maxpool2x2(convolved4[i,:,:])    #maxpooling 2x2\n",
    "    convolved4_p2[i,:,:] = maxpool2x2(convolved4_p1[i,:,:])  #maxpooling 2x2\n",
    "    \n",
    "## LAYER 5 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved5[i,:,:] = convolved5[i,:,:] +  conv2d_single(convolved4_p2[j,:,:], Wc5[:,:,j,i]) #single convolution operation\n",
    "    \n",
    "    convolved5[i,:,:] = ReLU( convolved5[i,:,:] + b_c5[0][i] )    #ReLU (simple remove negative operation)\n",
    "    \n",
    "## LAYER 6 ##\n",
    "for i in range(22):\n",
    "    for j in range(22):  #accumulating convolutions for each row\n",
    "        convolved6[i,:,:] = convolved6[i,:,:] +  conv2d_single(convolved5[j,:,:], Wc6[:,:,j,i]) #single convolution operation\n",
    "    convolved6[i,:,:] = ReLU( convolved6[i,:,:] + b_c6[0][i] )    #ReLU (simple remove negative operation)\n",
    "\n",
    "## END OF CONVOLUTIONS ##\n",
    "    \n",
    "# CALCULATING THE RESULT\n",
    "results = np.matmul(convolved6.reshape((792)), Wnorm6);\n",
    "results = SoftMax(results) # <-- 6 emotion probabilities here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.max((1,2,3,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nzezbt4/HHnuMlpYWc/zv2LEDh8OBiJhezb59+6isrOTf//43PT09ZvsrpUzrfteuXXzwwQfU19fT\n0dFBaGioOaYLCwvNMVVdXW0aBXV1dVRWVqKUMi3z0wWfGsXof7jbb3HFx8czf/58ampq8O8CA7z/\n/vumi7RmzRreeecddu7cyauvvkp1dTVdXV0UFRUBeqOkoaGB9vZ2Pv/5z5ORkUFBQQFpaWncf//9\n1NXVUVOjX/JSV1dHZ2cnnZ2drF+/HqfTae76hoaGmq5EdbV+2U99fT1bt241dwb37NlDVFSUuWkB\nOo7Z3NxMVFQUpaWlrFmzhg8//JBhw4bhdDp7BewbGxtNN/iDDz6guLgYr9dLY2MjRUVF5sDMy8uj\nq6uLsrIykpKSCA0NZefOnTz11FOMHj2azs5O000uKyszN18qKirYunUr06ZNQymF2+0mMjLS3Fio\nrq7G6/Wa1kRUVBTl5eVERESQmppqTh6n00ljYyNdXV1UVlZSVFREU1MTRUVFDBs2jLCwMA4e1G82\nmzp1Kq2trSQnJ5sKfceOHZSWljJ//nzT4tuzZw+dnZ10d3ezfft202uor69ny5YtNDU1mXU6cuQI\nbW1tuN1uDh48yHPPPcfq1avZtm2b6eLW1tYCmJZ9SEgINTU1lJaWcumll3L11Vczffp0oqKiqKur\n48iRI7S06Jd0FxcXc+jQITO04t94q6rS76GNjIw0F5XNmzebiq6trQ2v14vD4TDz37x5M0opUlJS\n2LNnDzU1NRQVFXHZZZeZu+r+zaPW1laTr6ysjA0bNhAZGcktt9xCVFQUxcXFgF7UampqTOv/3Xff\npampicLCQtMyLi8vN8vqcrnYtWsXEyZMYMGCBWRkZFBXV4fH46GkpASAlpYWwsPDaWxspKmpidmz\nZ3PnnXdSXFxMTEwMHR0dVFT4/wjw9MCnRjFOmTKFlpYWoqKiSEtLo7S0lE2bNrF06VLeeecdUyHF\nx8dTXFyMy+Vi9OjRZGRkkJCQwFVXXcXcuXOprKxk/Xr9fsz09HSKiopobW2lrKyM/Px8YmJiiI2N\nZe3atTQ1NZm7nHl5eezZs4fw8HDy8/Opqqri4MGDTJ8+naqqKnbt2gVoi626upro6Gjy8vKoqqpi\n/fr1zJkzhwkTJvDBBx+Ybtcll1xCSUkJjY2NzJ49m/z8fMaOHUtycjJnn3027e3tphK97LLL2Lt3\n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\nWcWB0cys8v8B2cNTVW/monQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x15421c080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(22):\n",
    "    plt.subplot( 6, 22, 0*22 + i+1)\n",
    "    plt.imshow(convolved1[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.title('Result after L 1 max:' + str(convolved1.max()))\n",
    "    plt.subplot( 6, 22, 1*22 + i+1)\n",
    "    plt.imshow(convolved2[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.title('Result after L 2 max:' + str(convolved2.max()))\n",
    "    plt.subplot( 6, 22, 2*22 + i+1)\n",
    "    plt.imshow(convolved3[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.title('Result after L 3 max:' + str(convolved3.max()))\n",
    "    plt.subplot( 6, 22, 3*22 + i+1)\n",
    "    plt.imshow(convolved4[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.title('Result after L 4 max:' + str(convolved4.max()))\n",
    "    plt.subplot( 6, 22, 4*22 + i+1)\n",
    "    plt.imshow(convolved5[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.title('Result after L 5 max:' + str(convolved5.max()))\n",
    "    plt.subplot( 6, 22, 5*22 + i+1)\n",
    "    plt.imshow(convolved6[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.rcParams['figure.figsize'] = (17.0, 17.0) # set default size of plots\n",
    "for i in range(22):\n",
    "    plt.subplot( 6, 22, 0*22 + i+1)\n",
    "    plt.imshow(convolved1[i,:,:])\n",
    "    plt.axis('off')\n",
    "    if i == 11:\n",
    "        plt.title('Result after L 1 max:' + str(convolved1.max()))        \n",
    "        plt.title('Result after L 6 max:' + str(convolved6.max()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.2923745241220104e-07"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n446uvkAVhSUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x152669e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " plt.rcParams['figure.figsize'] = (15.0, 15.0) # set default size of plots\n",
    "for i in range(3):\n",
    "    plt.subplot( 3, 3,i+1)\n",
    "    plt.imshow(convolved2_p[i,:,:])\n",
    "    plt.axis('off')\n",
    "    plt.title('mine')\n",
    "    plt.subplot( 3, 3,3+i+1)\n",
    "    plt.imshow(h2p[0,:,:,i])\n",
    "    plt.axis('off')\n",
    "    plt.title('tf')\n",
    "    plt.subplot( 3, 3,6+i+1)\n",
    "    plt.imshow(h2p[0,:,:,i] - convolved2_p[i,:,:])\n",
    "    plt.axis('off')\n",
    "    plt.title('diff')\n",
    "np.max(h2p[0,:,:,i] - convolved2_p[i,:,:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 208,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 208,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.size(np.shape((0,1)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Prints a multidimentional array arr in C-Style.\n",
    "# file must be already open \n",
    "def printdim(arr, file):\n",
    "    if(np.size(np.shape(arr)) == 1):\n",
    "        file.write('{');\n",
    "        for i in range(np.shape(arr)[0]):\n",
    "            file.write(str(arr[i]));\n",
    "            if( i < np.shape(arr)[0] -1):\n",
    "                file.write(',');\n",
    "        file.write('}\\n');\n",
    "    else:\n",
    "        file.write('{');\n",
    "        for i in range(np.shape(arr)[0]):\n",
    "            printdim(arr[i], file)\n",
    "            if( i < np.shape(arr)[0] -1):\n",
    "                file.write(',');\n",
    "        file.write('}');\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 4, 3)\n"
     ]
    },
    {
     "ename": "NameError",
     "evalue": "name 'Wc1p' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-9-5afa6b3bd963>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0mfile\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'test2.txt'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'w'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprintdim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mWc1p\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      5\u001b[0m \u001b[0mfile\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'Wc1p' is not defined"
     ]
    }
   ],
   "source": [
    "a = (((1,2,3),(4,5,6),(7,8,9),(10,11,12)), ((1,2,3),(4,5,6),(7,8,9),(10,11,12)))\n",
    "print(np.shape(a))\n",
    "file = open('test2.txt', 'w');\n",
    "printdim(Wc1p, file)\n",
    "file.close()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(8, 8, 22, 22)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.shape(Wc2.squeeze())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# print a variable ready to put into the code\n",
    "def print_as_C_array(file,arr, type_str, name_str):\n",
    "    file.write('\\n');\n",
    "    file.write(type_str);\n",
    "    file.write(' ');\n",
    "    file.write(name_str);\n",
    "    for i in range(np.size(np.shape(arr))):\n",
    "        file.write('[')\n",
    "        file.write(str(np.shape(arr)[i]))\n",
    "        file.write(']')\n",
    "    file.write(' = ')\n",
    "    \n",
    "    printdim(arr, file)\n",
    "    file.write(';')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'print_as_C_array' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-15-597472299fc7>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint_as_C_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mWc1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'const float'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Wc1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      5\u001b[0m \u001b[0mprint_as_C_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mWc2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'const float'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Wc2'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      6\u001b[0m \u001b[0mprint_as_C_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mWc3\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'const float'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Wc3'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'print_as_C_array' is not defined"
     ]
    }
   ],
   "source": [
    "file = open('cnn_constants.h', 'a');\n",
    "\n",
    "\n",
    "print_as_C_array(file,Wc1.squeeze(),'const float', 'Wc1')\n",
    "print_as_C_array(file,Wc2.squeeze(),'const float', 'Wc2')\n",
    "print_as_C_array(file,Wc3.squeeze(),'const float', 'Wc3')\n",
    "print_as_C_array(file,Wc4.squeeze(),'const float', 'Wc4')\n",
    "print_as_C_array(file,Wc5.squeeze(),'const float', 'Wc5')\n",
    "print_as_C_array(file,Wc6.squeeze(),'const float', 'Wc6')\n",
    "\n",
    "print_as_C_array(file,Wnorm6.squeeze(),'const float', 'Wn6')\n",
    "\n",
    "print_as_C_array(file,np.squeeze(b_c1),'const float', 'bc1')\n",
    "print_as_C_array(file,np.squeeze(b_c2),'const float', 'bc2')\n",
    "print_as_C_array(file,np.squeeze(b_c3),'const float', 'bc3')\n",
    "print_as_C_array(file,np.squeeze(b_c4),'const float', 'bc4')\n",
    "print_as_C_array(file,np.squeeze(b_c5),'const float', 'bc5')\n",
    "print_as_C_array(file,np.squeeze(b_c6),'const float', 'bc6')\n",
    "print_as_C_array(file,np.squeeze(b_n6),'const float', 'bn6')\n",
    "file.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(22, 48, 48)\n",
      "0.0   0.0   0.0   0.0   0.0   \n",
      "0.0   0.0   0.0   0.0   0.0   \n",
      "0.0   0.0   0.0   0.0   0.00175805616332   \n",
      "0.0   0.0   0.0   0.0   0.0   \n",
      "0.0   0.0   0.0   0.0   0.0   \n"
     ]
    }
   ],
   "source": [
    "plt.rcParams['figure.figsize'] = (1.0, 1.0) # set default size of plots\n",
    "print(np.shape(convolved1))\n",
    "for i in range(5):\n",
    "    for j in range(5):\n",
    "        print(convolved1[2,i,j], \"  \",end=\"\" )\n",
    "    print(\"\");\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(8, 8, 1, 22)\n",
      "0.0296561   0.0434982   0.032505   0.040102   \n",
      "0.0235211   -0.00619219   0.0045462   0.0100098   \n",
      "0.090108   0.0477874   0.00975359   0.0739424   \n",
      "0.07926   0.00666462   0.0164341   0.0220746   \n"
     ]
    }
   ],
   "source": [
    "print(np.shape(Wc1))\n",
    "for i in range(4):\n",
    "    for j in range(4):\n",
    "        print(Wc1[i,j,0,0], \"  \",end=\"\" )\n",
    "    print(\"\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "file = open('example_face.h', 'w');\n",
    "print_as_C_array(file,img,'const double', 'face1')\n",
    "file.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 192,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(22, 8, 8)\n",
      "(22, 22, 8, 8)\n",
      "(22, 22, 8, 8)\n",
      "(22, 22, 4, 4)\n",
      "(22, 22, 4, 4)\n",
      "(22, 22, 4, 4)\n"
     ]
    }
   ],
   "source": [
    "Wc1p = np.squeeze(Wc1).swapaxes(0,2).swapaxes(1,2);\n",
    "print(np.shape(Wc1p))\n",
    "\n",
    "Wc2p = np.squeeze(Wc2).swapaxes(1,3).swapaxes(0,2);\n",
    "print(np.shape(Wc2p))\n",
    "\n",
    "Wc3p = np.squeeze(Wc3).swapaxes(1,3).swapaxes(0,2);\n",
    "print(np.shape(Wc3p))\n",
    "\n",
    "Wc4p = np.squeeze(Wc4).swapaxes(1,3).swapaxes(0,2);\n",
    "print(np.shape(Wc4p))\n",
    "\n",
    "Wc5p = np.squeeze(Wc5).swapaxes(1,3).swapaxes(0,2);\n",
    "print(np.shape(Wc5p))\n",
    "\n",
    "Wc6p = np.squeeze(Wc6).swapaxes(1,3).swapaxes(0,2);\n",
    "print(np.shape(Wc6p))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "file = open('cnn_constants.h', 'w');\n",
    "print_as_C_array(file,Wc1p,'const double', 'Wc1')\n",
    "print_as_C_array(file,Wc2p.squeeze(),'const double', 'Wc2')\n",
    "print_as_C_array(file,Wc3p.squeeze(),'const double', 'Wc3')\n",
    "print_as_C_array(file,Wc4p.squeeze(),'const double', 'Wc4')\n",
    "print_as_C_array(file,Wc5p.squeeze(),'const double', 'Wc5')\n",
    "print_as_C_array(file,Wc6p.squeeze(),'const double', 'Wc6')\n",
    "\n",
    "print_as_C_array(file,Wnorm6.squeeze(),'const double', 'Wn6')\n",
    "\n",
    "print_as_C_array(file,np.squeeze(b_c1),'const double', 'bc1')\n",
    "print_as_C_array(file,np.squeeze(b_c2),'const double', 'bc2')\n",
    "print_as_C_array(file,np.squeeze(b_c3),'const double', 'bc3')\n",
    "print_as_C_array(file,np.squeeze(b_c4),'const double', 'bc4')\n",
    "print_as_C_array(file,np.squeeze(b_c5),'const double', 'bc5')\n",
    "print_as_C_array(file,np.squeeze(b_c6),'const double', 'bc6')\n",
    "print_as_C_array(file,np.squeeze(b_n6),'const double', 'bn6')\n",
    "file.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def quantize(val, NbBitsInt, NbBitsFloat):\n",
    "    absRange = 2**(NbBitsInt-1);\n",
    "    noSteps = (2*absRange)/(2**(-NbBitsFloat+1))\n",
    "    to_values = np.linspace(-absRange, absRange-1, noSteps)\n",
    "    best_match = None\n",
    "    best_match_diff = None\n",
    "    for other_val in to_values:\n",
    "        diff = abs(other_val - val)\n",
    "        if best_match is None or diff < best_match_diff:\n",
    "            best_match = other_val\n",
    "            best_match_diff = diff\n",
    "    return best_match"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-2048. -2047. -2046. ...,  2045.  2046.  2047.]\n",
      "17.0\n"
     ]
    }
   ],
   "source": [
    "print( quantize(16.67, 12, 1) );"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## QUANTIZATION ##"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-3.75, -3.5 , -3.25, -3.  , -2.75, -2.5 , -2.25, -2.  , -1.75,\n",
       "       -1.5 , -1.25, -1.  , -0.75, -0.5 , -0.25,  0.  ,  0.25,  0.5 ,\n",
       "        0.75,  1.  ,  1.25,  1.5 ,  1.75,  2.  ,  2.25,  2.5 ,  2.75,\n",
       "        3.  ,  3.25,  3.5 ,  3.75])"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def create_bins(NbBitsInt, NbBitsFloat):\n",
    "    absRange = 2**(NbBitsInt-1);\n",
    "    noSteps = ( (2*absRange)/(2**(-NbBitsFloat)) ) +1\n",
    "    to_values = np.linspace(-absRange, absRange, noSteps)\n",
    "    to_values = to_values[1:np.size(to_values)-1]\n",
    "    return to_values\n",
    "\n",
    "def quantize_array(X, NbBitsInt, NbBitsFloat):\n",
    "    return create_bins(NbBitsInt,NbBitsFloat)[np.digitize(X, create_bins(NbBitsInt,NbBitsFloat))];\n",
    "\n",
    "create_bins(3,2)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 181,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.10546875,  0.015625  ,  0.08203125,  0.0859375 ,  0.09375   ,\n",
       "       -0.09375   , -0.0625    ,  0.109375  ,  0.140625  , -0.38671875,\n",
       "       -0.1484375 ,  0.234375  , -0.046875  , -0.04296875, -0.2109375 ,\n",
       "       -0.09375   , -0.05078125, -0.171875  ,  0.08203125, -0.1640625 ,\n",
       "        0.11328125, -0.16796875])"
      ]
     },
     "execution_count": 181,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Nbi = 2;\n",
    "Nbf = 8;\n",
    "Wc1_quant = quantize_array(Wc1, Nbi, Nbf);\n",
    "Wc2_quant = quantize_array(Wc2, Nbi, Nbf);\n",
    "Wc3_quant = quantize_array(Wc3, Nbi, Nbf);\n",
    "Wc4_quant = quantize_array(Wc4, Nbi, Nbf);\n",
    "Wc5_quant = quantize_array(Wc5, Nbi, Nbf);\n",
    "Wc6_quant = quantize_array(Wc6, Nbi, Nbf);\n",
    "#Wn1_quant = quantize_array(W_norm6, Nbi, Nbf);\n",
    "\n",
    "bc1_quant = quantize_array(b_c1, Nbi, Nbf);\n",
    "bc2_quant = quantize_array(b_c2, Nbi, Nbf);\n",
    "bc3_quant = quantize_array(b_c3, Nbi, Nbf);\n",
    "bc4_quant = quantize_array(b_c4, Nbi, Nbf);\n",
    "bc5_quant = quantize_array(b_c5, Nbi, Nbf);\n",
    "bc6_quant = quantize_array(b_c6, Nbi, Nbf);\n",
    "\n",
    "Wc6_quant[0][0][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 183,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.00390532612801\n",
      "0.00390542019159\n",
      "0.00390589237213\n",
      "0.00390617921948\n",
      "0.00390607118607\n",
      "0.00390088558197\n"
     ]
    }
   ],
   "source": [
    "print( np.max(Wc6_quant - Wc6) )\n",
    "print( np.max(Wc5_quant - Wc5) )\n",
    "print( np.max(Wc4_quant - Wc4) )\n",
    "print( np.max(Wc3_quant - Wc3) )\n",
    "print( np.max(Wc2_quant - Wc2) )\n",
    "print( np.max(Wc1_quant - Wc1) )\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
